﻿using System;
using System.Collections;
using System.Linq;
using System.Text;
using SongSharp.Domain.Objects;
using SongSharp.Domain.Suggesting;

namespace SongSharp.Domain.Suggesting.VaryVogueValue
{
    public abstract class ChanceGenerator
    {
        public static Hashtable RulesTable = new Hashtable();
        internal RulesManager RulesManager = RulesManager.Instance;

        // Registers rulesets of inheriting classes
        public ChanceGenerator()
        {
            if (RulesTable.Count > 0)
                RulesManager.RegisterRuleSet(RulesTable);
        }

        public abstract ChanceValue Generate(Track track);
    }
}
